package com.dgshanger.sanhxiaofeisc.mvp.contract;

import com.dgshanger.sanhxiaofeisc.entity.CheckPwdEntity;
import com.dgshanger.sanhxiaofeisc.entity.LoosePaymentEntity;
import com.dgshanger.sanhxiaofeisc.entity.PaymentCodeEntity;
import com.xx.baseuilibrary.mvp.lcec.BaseMvpLcecView;
import com.xx.baseutilslibrary.network.rx.XxBaseHttpObserver;

/**
 * Created by JacobHHH on 2018/4/20.
 */

public interface PaymentCodeContract {

    interface View extends BaseMvpLcecView<PaymentCodeEntity>{

        void onDataFailure(String msg);

        void onSettingPayPwd();

        void showPayPwdDialog();

        void onPaySuccess(LoosePaymentEntity entity);
    }

    interface Presenter{

        void loadData(boolean isReFresh,String shop_number);

        void checkPayPwd();

        void goPay(String shop_id,String pay_amount,String pay_type,String user_pay_pwd
                , String user_wallet_amount, String user_integral_amount);
    }

    interface Model{

        void loadData(String shop_number, XxBaseHttpObserver<PaymentCodeEntity> httpObserver);

        void checkPayPwd(XxBaseHttpObserver<CheckPwdEntity> httpObserver);

        void goPay(String shop_id, String pay_amount, String pay_type, String user_pay_pwd
                , String user_wallet_amount, String user_integral_amount
                , XxBaseHttpObserver<LoosePaymentEntity> httpObserver);
    }
}
